SupplyForm = Ext.extend(Ext.Window, {
	formPanel : null,
	constructor : function(_cfg) {
		Ext.applyIf(this, _cfg);
		this.initUIComponents();
		SupplyForm.superclass.constructor.call(this, {
					layout : 'form',
					id : 'SupplyFormWin',
					title : '基本资料补充录入',
					items : this.formPanel,
					width : 800,
					border : false,
					modal : true,
					plain : true,
					buttonAlign : 'center',
					buttons : this.buttons
				});
	},
	initUIComponents : function() {
		var record;
		if (this.rec) {
			record = Ext.urlDecode(this.rec, false);
		} else {
			record = '';
			Ext.Msg.alert('错误', '资产数据加载异常');
		}

		var ifData = [['1', '是'], ['0', '否']];
		this.formPanel = new Ext.FormPanel({
			url : __ctxPath + '/pdaweb/saveSupply.do',
			layout : 'form',
			width : 780,
			frame : true,
			id : 'SupplyFormFormPanel',
			defaults : {
				padding : '0 0 0 40px',
				xtype : 'fieldset',
				layout : 'form',
				defaults : {
					layout : 'column',
					defaults : {
						layout : 'form',
						columnWidth : 0.5,
						defaults : {
							width : 200,
							xtype : 'textfield',
							disabled : true
						}
					}
				}
			},
			items : [{
				title : '基本信息',
				items : [{
							items : [{
										items : [{
													fieldLabel : '资产编号',
													value : record.assetNo
															|| ''
												}, {
													fieldLabel : '位置信息',
													value : record.locationId
															|| ''
												}, {
													fieldLabel : '资产条码',
													value : record.barCode
															|| ''
												}]
									}, {
										items : [{
													fieldLabel : '房屋编号',
													value : record.houseId
															|| ''
												}, {
													fieldLabel : '资产描述',
													value : record.assetDesc
															|| ''
												}]
									}]
						}]
			}, {
				title : '补充资料',
				items : [{
					items : [{
						defaults : {
							width : 200,
							xtype : 'combo',
							mode : 'local',
							triggerAction : 'all',
							editable : false,
							disabled : false
						},
						items : [{
									fieldLabel : '表类型',
									hiddenName : 'meterType',
									id : 'meterType',
									allowBlank : false,
									store : [['2', '电表'], ['1', '水表']],
									value: record.classStructureId || '',
									readOnly:true
								}, {
									fieldLabel : '表编号',
									xtype : 'textfield',
									id : 'meterId',
									name : 'am.amId',
									allowBlank : false,
									invalidText : '请填写表编号',
									msgTarget : 'side',
									listeners : {
										'focus' : function() {
											Ext.getCmp('supplyFormSaveBut')
													.setDisabled(true);
										},
										'blur' : function() {
											var amField = Ext.getCmp('meterId');
											if (Ext.getCmp("meterType")
													.isValid()
													&& amField.getValue() != "") {
												amField.setDisabled(true);
												var meterType = Ext
														.getCmp("meterType")
														.getValue();
												Ext.Ajax.request({
													url : __ctxPath
															+ '/pdaweb/isExistSupply.do',
													waitMsg : '编号检验中...',
													params : {
														'meterType' : meterType,
														'am.amId' : amField
																.getValue()
													},
													success : function(
															response, options) {
														var dbJson = eval("("
																+ response.responseText
																+ ")");
														if (dbJson.isExist == "false") {
															Ext
																	.getCmp('supplyFormSaveBut')
																	.setDisabled(false);
														} else {
															Ext.Msg
																	.alert(
																			'提示',
																			'该编号已经存在,请修改表编号！');
															Ext
																	.getCmp('meterId')
																	.setValue('');
														}
														amField
																.setDisabled(false);
													},
													failure : function(response) {
														amField
																.setDisabled(false);
														Ext.MessageBox.show({
															title : '操作信息',
															msg : '验证失败，请稍后重试！',
															buttons : Ext.MessageBox.OK,
															icon : Ext.MessageBox.ERROR
														});
													}
												});
											}
										}
									}
								}, {
									xtype : 'container',
									layout : 'column',
									style : 'padding-left:0px;margin-left:0px;',
									height : 30,
									width : 310,
									defaults : {
										border : false
									},
									items : [{
												xtype : 'label',
												text : '区:',
												width : 105
											}, {
												xtype : 'combo',
												id : 'districtID',
												width : 200,
												valueField : 'districtId',
												displayField : 'districtName',
												mode : 'local',
												editable : false,
												allowBlank : false,
												triggerAction : 'all',
												store : new Ext.data.SimpleStore(
														{
															url : __ctxPath
																	+ '/pdaweb/showDistrictAmPlan.do',
															autoLoad : true,
															fields : [
																	'districtId',
																	'districtName']
														}),
												listeners : {
													scope : this,
													select : function(cbo,
															record, index) {
														Ext
																.getCmp('buildingID')
																.setValue('');
														chooseDistrictId = Ext
																.getCmp('districtID')
																.getValue();
														Ext.getCmp('SupplyForm.districtId')
																.setValue(chooseDistrictId);
														Ext.Ajax.request({
															url : __ctxPath
																	+ '/pdaweb/showBuildingAmPlan.do?districtId='
																	+ chooseDistrictId,
															method : 'post',
															success : function(
																	response,
																	option) {
																Ext
																		.getCmp('buildingID').store
																		.loadData(eval("("
																				+ response.responseText
																				+ ")"));
															}
														});
													}
												}
											}]
								}, {
									xtype : 'container',
									layout : 'column',
									style : 'padding-left:0px;margin-left:0px;',
									height : 30,
									width : 310,
									defaults : {
										border : false
									},
									items : [{
												xtype : 'label',
												text : '栋:',
												width : 105
											}, {
												xtype : 'combo',
												id : 'buildingID',
												width : 200,
												valueField : 'buildingId',
												displayField : 'buildingtName',
												mode : 'local',
												editable : false,
												allowBlank : false,
												triggerAction : 'all',
												store : new Ext.data.SimpleStore(
														{
															url : __ctxPath
																	+ '/pdaweb/showBuildingAmPlan.do?districtId=',
															autoLoad : true,
															fields : [
																	'buildingId',
																	'buildingtName']
														}),
												listeners : {
													scope : this,
													select : function(cbo,
															record, index) {

														Ext.getCmp('houseID')
																.setValue('');
														chooseBulidingId = Ext
																.getCmp('buildingID')
																.getValue();
														Ext.getCmp('SupplyForm.buildingId')
																.setValue(chooseBulidingId);
														Ext.Ajax.request({
															url : __ctxPath
																	+ '/pdaweb/showHouseWaterMeterPlan.do?buildingId='
																	+ chooseBulidingId,
															method : 'post',
															success : function(
																	response,
																	option) {
																Ext
																		.getCmp('houseID').store
																		.loadData(eval("("
																				+ response.responseText
																				+ ")"));
															}
														});
													}
												}
											}]
								}, {
									xtype : 'container',
									layout : 'column',
									style : 'padding-left:0px;margin-left:0px;',
									height : 30,
									width : 310,
									defaults : {
										border : false
									},
									items : [{
												xtype : 'label',
												text : '房:',
												width : 105
											}, {
												xtype : 'combo',
												id : 'houseID',
												width : 200,
												valueField : 'houseId',
												displayField : 'houseName',
												mode : 'local',
												editable : false,
												allowBlank : false,
												triggerAction : 'all',
												store : new Ext.data.SimpleStore(
														{
															url : __ctxPath
																	+ '/pdaweb/showHouseWaterMeterPlan.do?buildingId=',
															autoLoad : true,
															fields : [
																	'houseId',
																	'houseName']
														}),
												listeners : {
													scope : this,
													select : function(cbo,
															record, index) {
														chooseHouseId = Ext
																.getCmp('houseID')
																.getValue();
														Ext.getCmp('SupplyForm.aparmentId')
																.setValue(chooseHouseId);
													}
												}
											}]
								}, {
									fieldLabel : '表类型',
									allowBlank : false,
									hiddenName : 'am.isProprietor',
									store : [['0', '业主'], ['1', '非业主']]
								}, {
									fieldLabel : '房屋编号/外联单位号',
									xtype : 'textfield',
									allowBlank : false,
									name : 'am.clientId',
									editable : true
								}, {
									fieldLabel : '使用性质',
									allowBlank : false,
									hiddenName : 'am.meterKind',
									store : [['1', '商业'], ['2', '公共'],
											['3', '住宅'], ['4', '临时'],
											['5', '事业单位']]
								}]
					}, {
						defaults : {
							width : 200,
							xtype : 'combo',
							mode : 'local',
							triggerAction : 'all',
							editable : false
						},
						items : [{
									fieldLabel : '安装时间',
									xtype : 'datefield',
									allowBlank : false,
									format : 'Y-m-d H:i:s',
									name : 'am.setDate'
								}, {
									fieldLabel : '是否远程',
									hiddenName : 'am.isLongDistance',
									allowBlank : false,
									store : ifData
								}, {
									fieldLabel : '表状态',
									hiddenName : 'am.type',
									allowBlank : false,
									store : [['1', '申请'], ['2', '使用'],
											['3', '报废']]
								}, {
									fieldLabel : '是否收费',
									hiddenName : 'am.isCharge',
									allowBlank : false,
									store : ifData
								}, {
									fieldLabel : '父表编号',
									allowBlank : false,
									value : record.parent || '',
									name : 'am.upId',
									xtype : 'textfield',
									editable : true
								}, {
									fieldLabel : '表级别',
									hiddenName : 'am.wlevel',
									allowBlank : false,
									store : ['1', '2', '3']
								}, {
									fieldLabel : '是否屋内',
									hiddenName : 'am.indoor',
									allowBlank : false,
									store : ifData
								}, {
									fieldLabel : '倍率',
									name : 'am.timesNum',
									allowBlank : false,
									xtype : 'textfield'
								}, {
									fieldLabel : '初始读数',
									name : 'am.initDegree',
									allowBlank : false,
									xtype : 'textfield'
								}, {
									xtype : 'hidden',
									name : 'asset.assetNo',
									value : record.assetNo
								}, {
									xtype : 'hidden',
									name : 'asset.assetNo',
									value : record.assetNo
								}, {
									xtype : 'hidden',
									name : 'asset.locationId',
									value : record.locationId
								}, {
									xtype : 'hidden',
									id:     'SupplyForm.aparmentId',
									name : 'am.aparmentId'
								},  {
									xtype : 'hidden',
									id:     'SupplyForm.buildingId',
									name : 'am.buildingId'
								}, {
									xtype : 'hidden',
									id:     'SupplyForm.districtId',
									name : 'am.districtId'
								},{
									xtype : 'hidden',
									name : 'am.pdaMdAssetInfo.barCode',
									value : record.barCode || ''
								}]
					}]
				}]
			}]
		});// end of the formPanel

		this.buttons = [{
			text : '保存',
			id : 'supplyFormSaveBut',
			iconCls : 'btn-save',
			handler : function() {
				var fp = Ext.getCmp('SupplyFormFormPanel');
				if (fp.getForm().isValid()) {
					fp.getForm().submit({
								method : 'post',
								waitMsg : '正在提交数据...',
								timeout: 30000,
								success : function(fp, action) {
									Ext.ux.Toast.msg('操作信息', '成功保存信息！');
									Ext.getCmp('SupplyFormWin').close();
									Ext.getCmp('SupplyGrid').getStore()
											.reload();
								},
								failure : function(fp, action) {
									Ext.MessageBox.show({
												title : '操作信息',
												msg : action.result.msg,
												buttons : Ext.MessageBox.OK,
												icon : 'ext-mb-error'
											});
								}
							});
				}
			}
		}, {
			text : '取消',
			iconCls : 'btn-cancel',
			handler : function() {
				Ext.getCmp('SupplyFormWin').close();
			}
		}];

	}// end of the initUIComponents

});
